Monas Design Docment
開発の全体と詳細を記載するYudai.icon
一旦今回のUIを基に考えていく
Top Page
認証機能
DIDによる認証
署名検証により、Root Nodeを呼び出す
Walletによる認証
署名検証により、Root Nodeを呼び出す
暗号化されているメタデータを復号化するためにこの認証を使用可能にするとしても、どこで認証可能にするか問題がある
メタデータ内にRoot Nodeと識別子が紐づいているから認証で使う事は出来ないよね問題だと思う
この場合それこそDHTとかになる?Yudai.icon
CreatingRootNood機能
Root Nodeが作成されてPeerID(メタデータのURI)とPeerKey(秘密鍵)が出力される
ユーザーは自分で管理する必要がある
だからこそ認証が出来るようにする必要がある
Login機能
PeerIDとPeerKeyを入力することで自分の空間を呼び出し、入ることができる
MyBox
Upload機能
ファイルを暗号化してIPFS上に保存する
この時に暗号化する前にブロックチェーン上にハッシュ値を持てるようにすることで真正性を保てるようにしたい
これはPDSの課題だとも思う
CIDをメタデータにLocationとして保存し暗号化する
DataMetadata
FolderMetadata
一つ下の階層にいく機能
Metadataには下の階層のLocation(URI)があるから、ボタンを押すと下の階層に行ける
実際には下の階層のメタデータを開き別ページが写される
Reserch機能
暗号化しているファイルを実際に検索することはできるか?(難しそう)
ソート機能
メタデータに日付を持っているからできるとは思う
共有機能
URIと秘密鍵が出力される
=> メッセージングプロトコルで安全に共有できるようにしたい(XMTPとか?それかLibp2pでできる?)
再暗号化機能
一度にアクセス拒否することができる
ファイルをほかのフォルダに移動させられる機能
再暗号化される
GetBox
共有されたファイルを検索する機能
現在はURIと秘密鍵を入力することでダウンロードができる
理想はこの画面が無い事なのではないか?
Shared Boxで見えるようにする
SharedBox
共有されたファイル表示機能
共有されたファイルのメタデータによって画面に表示される
Owner(Address)
ファイルを押すとダウンロードができる
ダウンロードする方法ってダウンロードボタンにメタデータにあるURIってイメージなのかな?
Fiend List
共有相手を表示する機能
その相手を選択すると共有しているファイルの一覧が表示
ここでアクセス拒否ができて再暗号化する
メモ
P2Pネットワークがなぜ必要なのか
どうやって使うのか
1つはDHTとメッセージングのため
自分でノードを建てる
うーん、なんかもう少し詳細に落とし込みたいYudai.icon
ってか全体設計ってどうやって分けて書くべきなんだろ
関連
Monas Protocol Function